/**
 * email.js file;
 * company:junqitecch
 * author:xuzuiotao
 * request from the http body throght post method
 */



var nodemailer = require("nodemailer");
var emailmsg=require("../db/emailmsg");
var  consts  = require('../consts');

//通过邮件发送验证码
module.exports.sendVeriCode=function(to,response, callback){
	
//    ,ERROR_MOBILEPHONE_USED:'该手机号已被使用，请您换一个号码或者找回密码'
//        ,ERROR_EMAILADDRESS_USED:'该邮箱地址已被使用，请您换一个邮箱或者找回密码'
//        ,ERROR_MOBILEPHONE_UNFOUND:'该手机号未注册，请注册'
//        ,ERROR_EMAILADDRESS_UNFOUND:'该邮箱地址未被绑定，请先绑定或者换一个绑定的的邮箱' 
	codenum= Math.floor(Math.random()*10000)+'';
	code4 = ('0000'+codenum).substring(codenum.length);
	
	emailmsg.insert(to,code4,function(qerr){
		if(qerr){
			response.errorCode=consts.Error.ERROR_GENERAL;
			response.message=consts.Message.ERROR_EMAIL;
			if(callback){
				  callback();
			  }
		}else{
			
			// 开启一个 SMTP 连接池
			var smtpTransport = nodemailer.createTransport("SMTP",{
			  host: "smtp.163.com", // 主机
			  secureConnection: true, // 使用 SSL
			  port: 465, // SMTP 端口
			  auth: {
			    user: "xinmayoujiang8888@163.com", // 账号
			    pass: "Xinma123" // 密码
			  }
			});

			// 设置邮件内容
			var mailOptions = {
			  from: "信马由缰管理员<xinmayoujiang8888@163.com>", // 发件地址
			  to: to, // 收件列表
			  subject: "信马由缰邮件(重要)", // 标题
			  html: '<b>'+consts.Message.REG_VERICODE.replace('/NUMBER/',code4)+'<br>' // html 内容
			};

			
			// 发送邮件
			smtpTransport.sendMail(mailOptions, function(error, res){
			  if(error){
			    console.log(error);
				response.errorCode=consts.Error.ERROR_GENERAL;
				response.message=consts.Message.ERROR_EMAIL;
			  }else{
				emailmsg.setSentTime(to,code4,null);
			    console.log("Message sent: " + res.message);
				response.errorCode=consts.Error.NONE_ERROR;
				response.message=consts.Message.OK_MESSAGE;
			  }
			  if(callback){
				  callback();
			  }
			  mailOptions = null;
			  smtpTransport.close(); // 如果没用，关闭连接池
			  smtpTransport = null;
			});
			
		}
	});
	
	
};


